mysql三表查询与多列合成一列

您所在的位置:网站首页 sql把两个查询结果拼接 并求和出来 mysql三表查询与多列合成一列

mysql三表查询与多列合成一列

2024-07-10 11:46| 来源: 网络整理| 查看: 265

表结构

t_user表 在这里插入图片描述 t_user_role表 在这里插入图片描述 t_role表 在这里插入图片描述

分析

一个用户对应一个或多个角色,但是user表和role表没有直接对应,对应关系在第三张表中

需求

查询user表中用户信息,并加上用户对应的所有角色名

sql语句 select a.*,GROUP_CONCAT(role_name) as role_name from t_user a LEFT JOIN t_user_role b ON a.id = b.user_id left JOIN t_role c ON b.role_id = c.id GROUP BY a.id

运行结果如下 在这里插入图片描述 最后结果集中的role_name为字符串,返回后可以在前端用字符串分割的方法使用。

解析

GROUP_CONCAT函数可以实现将多列合成一列中,并且可以指定分隔符 后面则使用左查询和分组查询将三张表数据合在一起



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3